package leetcode_700;

/**
 *@author 周杨
 *CountBinarySubstrings_696_ 计算一个二进制字符串中 有多少子串里0和1的数量一样 且连续分组
 *describe:用连续数组 非常好的题目 AC 90%
 *see:https://blog.csdn.net/liuchonge/article/details/78452948
 *2018年10月9日 下午3:38:44
 */
public class CountBinarySubstrings_696_ {
	public int countBinarySubstrings(String s) {
		int len=s.length();
        if(len<=1) return 0;
        char[] sc= s.toCharArray();
        int prevRunLength = 0, curRunLength = 1, res = 0;
        for (int i=1;i<len;i++) {
            if (sc[i] == sc[i-1]) curRunLength++;
            else {
                prevRunLength = curRunLength;
                curRunLength = 1;
            }
            if (prevRunLength >= curRunLength) res++;//也可以取两者中较小的
        }
        return res;
	}
}
